package com.cyt.wx.service;

import com.cyt.base.model.dto.ReturnResult;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.service.BaseService;
import com.cyt.wx.model.po.WxApply;
import com.cyt.wx.model.vo.WxApplyVo;

import java.util.List;

/**
 * 应用管理-应用信息Service层接口类
 *
 * @author rong yuan
 * @date 2019-8-16 8:45:15
 */
public interface WxApplyService extends BaseService<WxApply> {

    /**
     * 分页查询
     *
     * @param wxApplyVo 接受参数对象
     * @param pageNum   分页数
     * @param pageSize  每页显示条数
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 8:45:15
     */
    ReturnResult page(WxApplyVo wxApplyVo, int pageNum, int pageSize);
    /**
     * list查询
     *
     * @param wxApplyVo 接受参数对象
     * @return List<WxApply>
     * @author shengQiang yu
     * @date 2019-8-16 08:50
     */
    List<WxApply> selectListByCondition(WxApplyVo wxApplyVo);
    /**
     * list查询
     *
     * @param wxApplyVo 接受参数对象
     * @return List<WxApply>
     * @author rong yuan
     * @date 2019-8-16 08:50
     */
    List<WxApply> listExample(WxApplyVo wxApplyVo);

    /**
     * 对象查询
     *
     * @param wxApplyVo 接受参数对象
     * @return WxApplyVo
     * @author rong yuan
     * @date 2019-8-16 09:14
     */
    WxApplyVo selectOne(WxApplyVo wxApplyVo);

    /**
     * 添加或更新
     *
     * @param wxApplyVo 参数接受对象
     * @param sysUser   当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 8:45:15
     */
    ReturnResult addOrUpdate(WxApplyVo wxApplyVo, SysUser sysUser);

    /**
     * 根据条件逻辑删除
     *
     * @param wxApplyVo 参数接受对象
     * @param sysUser   当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 8:45:15
     */
    ReturnResult remove(WxApplyVo wxApplyVo, SysUser sysUser);

    /**
     * 根据条件物理删除
     *
     * @param wxApplyVo 参数接受对象
     * @param sysUser   当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 8:45:15
     */
    ReturnResult delete(WxApplyVo wxApplyVo, SysUser sysUser);
}